  # #########################################
  # @Author: Quinn.chen
  # @Date: 2019-08-20 00:04:08
  # @Last Modified by:   Quinn.chen
  # @Last Modified time: 2019-08-20 00:04:08
  # ##########################################

import time
import datetime

"""
time.strptime(_string,"%Y-%m-%d") #string->time
time_ = datetime.datetime.strptime(_string, "%Y-%m-%d") # #string->datetime
time_ = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) #time->string
"""
"""
    1.先导入库：import datetime

    2.获取当前日期和时间：now_time = datetime.datetime.now()

    3.格式化成我们想要的日期：strftime（）

    比如：“2016-09-21”：datetime.datetime.now().strftime('%Y-%m-%d')

    4.在当前时间增加1小时：add_hour=datetime.datetime.now()+datetime.timedelta(hours=1)   #需要导入timedelta库

    格式“小时”：now_hour=add_hour.strftime('%H')

    5.时间的三种存在方式：时间对象，时间字符串，时间戳。

    (1)字符串转datetime：
    >>> string = '2014-01-08 11:59:58'
    >>> time1 = datetime.datetime.strptime(string,'%Y-%m-%d %H:%M:%S')
    >>> print time1
    2014-01-08 11:59:58

    (2)datetime转字符串：
    >>> time1_str = datetime.datetime.strftime(time1,'%Y-%m-%d %H:%M:%S')
    >>> time1_str
    '2014-01-08 11:59:58'

    (3)时间戳转时间对象：

    >>>time1 = time.localtime()

    >>>time1_str = datetime.datetime.fromtimestamp(time1)

    6.格式参数：

    %a 星期几的简写
    %A 星期几的全称
    %b 月分的简写
    %B 月份的全称
    %c 标准的日期的时间串
    %C 年份的后两位数字
    %d 十进制表示的每月的第几天
    %D 月/天/年
    %e 在两字符域中，十进制表示的每月的第几天
    %F 年-月-日
    %g 年份的后两位数字，使用基于周的年
    %G 年分，使用基于周的年
    %h 简写的月份名
    %H 24小时制的小时
    %I 12小时制的小时
    %j 十进制表示的每年的第几天
    %m 十进制表示的月份
    %M 十时制表示的分钟数
    %n 新行符
    %p 本地的AM或PM的等价显示
    %r 12小时的时间
    %R 显示小时和分钟：hh:mm
    %S 十进制的秒数
    %t 水平制表符
    %T 显示时分秒：hh:mm:ss
    %u 每周的第几天，星期一为第一天 （值从0到6，星期一为0）
    %U 第年的第几周，把星期日做为第一天（值从0到53）
    %V 每年的第几周，使用基于周的年
    %w 十进制表示的星期几（值从0到6，星期天为0）
    %W 每年的第几周，把星期一做为第一天（值从0到53）
    %x 标准的日期串
    %X 标准的时间串
    %y 不带世纪的十进制年份（值从0到99）
    %Y 带世纪部分的十制年份
    %z，%Z 时区名称，如果不能得到时区名称则返回空字符。
    %% 百分号
"""


def current_data(_time_format="%Y-%m-%d %H:%M:%S"):
    now_time = datetime.datetime.now().strftime(_time_format)
    return now_time

def time_formating(_datatime_flag=False, _time_string=None, _time_format="%Y-%m-%d %H:%M:%S"):
    if not _time_string:
        _time_string = time.strftime(_time_format, time.localtime())
    if _datatime_flag:
        # return datetime.datetime
        return datetime.datetime.strptime(_time_string, _time_format)
    else:
        # return time.struct_time
        return time.strptime(_time_string, _time_format)

def time_compare(_time_string_1, _time_string_2, _time_format="%Y-%m-%d %H:%M:%S"):
    """
    @ compare two file
    if first is old return True
    else return False
    """
    data_time1 = time_formating(_datatime_flag=True, _time_string=_time_string_1, _time_format=_time_format)
    data_time2 = time_formating(_datatime_flag=True, _time_string=_time_string_2, _time_format=_time_format)
    dalay = data_time2 - data_time1
    if data_time1 > data_time2:
        return True
    else:
        return False

if __name__ == "__main__":
    # print(time_formating(False, '2017-04-03', "%Y-%m-%d"))
    # print(time_compare("2017-04-04 0:00:1", "2017-04-04 0:00:2", _time_format="%Y-%m-%d %H:%M:%S"))
    print(current_data())